Logical OR Assignment (||=)
The logical OR assignment operator (||=) assigns the right operand to the left operand if the left operand is falsy; otherwise, it retains the left operand value in JavaScript.
Syntax:
x ||= y
is equivalent to
x || (x = y)
Example: Here is the example above-mentioned method.
Javascript
let name = { firstName: "Virat" , lastName: "" , }; // Output: Virat console.log(name.firstName); name.firstName ||= "Shyam" ; // Output: Virat (unchanged, because it's truthy) console.log(name.firstName); // Output: (empty string) console.log(name.lastName); name.lastName ||= "Kohli" ; // Output: Kohli (changed, because it's falsy) console.log(name.lastName); |
Virat Virat Kohli
JS 2020 – ECMAScript 2020
JavaScript ECMAScript 2020 (ES11) introduced new features like optional chaining, nullish coalescing, dynamic import(), BigInt, and Promise.allSettled(), etc. enhancing language capabilities for modern web development needs.
JavaScript 2020 (ES11) or ECMAScript 2020 new features are:
BigInt |
type for arbitrary precision integers beyond the Number’s limit. |
String matchAll() |
returns an iterator for all regex matches in the string. |
The Nullish Coalescing Operator (??) |
returning right operand if the left is nullish, else left. |
The Optional Chaining Operator (?.) |
accessing nested properties if they exist, otherwise returns undefined. |
Logical AND Assignment Operator (&&=) |
assigns the right operand to the left if the left is truthy. |
Logical OR Assignment (||=) |
assigns the right operand if the left is falsy, else left. |
Nullish Coalescing Assignment (??=) |
the operator assigns the right operand if the left is nullish, else left. |
Promise allSettled() |
returning an array of promise results with status and value. |
Dynamic Import |
enables asynchronous import of modules at runtime. |